package org.atf.mgr;

import java.util.Calendar;
import java.util.HashMap;
import java.util.concurrent.FutureTask;

import org.atf.model.entity.Profile;
import org.atf.model.entity.Server;
import org.atf.services.TaskStatus;

public abstract class AppManager extends AtfManager {
	public abstract ProfileManager getProfileManager();
	public abstract void setProfileManager(ProfileManager profileManager);
	public abstract void startServer();
	public abstract void stopServer();
	public abstract void restartServer();
	public abstract void deploy(HashMap<String, String> options);
	public abstract Calendar getStartTime();
	public abstract Calendar getStopTime();
	public abstract Boolean isRunning();
	public abstract String getOutput();
	public abstract String getErrors();
	public abstract int getStatusCode();
	public abstract void setServer(Server server);
	public abstract Server getServer();
	public abstract void setUsername(String username);
	public abstract String getUsername();
	public abstract void serverStatus();
	public abstract TaskStatus getTaskStatus();
	public abstract void shutdown();
}
